package com.ruoyi.lab.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 采购表
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "采购表")
@Data
@TableName(value = "lab_procurement")
public class LabProcurement extends BaseEntity implements Serializable {
    /**
     * 采购单ID，唯一标识符
     */
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value = "采购单ID，唯一标识符")
    private String id;

    /**
     * 供应商ID，关联到供应商表
     */
    @TableField(value = "supplier_id")
    @ApiModelProperty(value = "供应商ID，关联到供应商表")
    private String supplierId;

    @TableField(exist = false)
    private String supplierName;

    /**
     * 采购设备名称
     */
    @TableField(value = "equipment_name")
    @ApiModelProperty(value = "采购设备名称")
    private String equipmentName;

    /**
     * 设备类型（数据字典lab_equipment_type）
     */
    @TableField(value = "equipment_type")
    @ApiModelProperty(value = "设备类型（数据字典lab_equipment_type）")
    private String equipmentType;

    /**
     * 订单日期
     */
    @TableField(value = "order_date")
    @ApiModelProperty(value = "订单日期")
    private Date orderDate;

    /**
     * 预计到货日期
     */
    @TableField(value = "arrival_date")
    @ApiModelProperty(value = "预计到货日期")
    private Date arrivalDate;

    /**
     * 采购数量
     */
    @TableField(value = "quantity")
    @ApiModelProperty(value = "采购数量")
    private Integer quantity;

    /**
     * 单价
     */
    @TableField(value = "unit_price")
    @ApiModelProperty(value = "单价")
    private BigDecimal unitPrice;

    /**
     * 总价
     */
    @TableField(value = "total_price")
    @ApiModelProperty(value = "总价")
    private BigDecimal totalPrice;

    /**
     * 采购状态（'1'：待确认，'2'：已确认，'3'：已完成）
     */
    @TableField(value = "`status`")
    @ApiModelProperty(value = "采购状态（'1'：待确认，'2'：已确认，'3'：已完成）")
    private String status;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @TableField(value = "del_flag")
    @ApiModelProperty(value = "删除标志（0代表存在 2代表删除）")
    private String delFlag;

    private static final long serialVersionUID = 1L;
}